#include "wxsstaticline.h"

#include <wx/statline.h>

namespace {
  wxsRegisterItem<wxsStaticLine> Reg( _T( "StaticLine" ), _T( "分割条" ), wxsTWidget, _T( "标准" ), 60 );
  WXS_ST_BEGIN( wxsStaticLineStyles, _T( "wxLI_HORIZONTAL" ) )
  WXS_ST_CATEGORY( "wxStaticLine" )
  WXS_ST( wxLI_HORIZONTAL )
  WXS_ST( wxLI_VERTICAL )
  WXS_ST_DEFAULTS()
  WXS_ST_END()
  WXS_EV_BEGIN( wxsStaticLineEvents )
  WXS_EV_END()
}

wxsStaticLine::wxsStaticLine( wxsItemResData* Data ):
  wxsWidget( Data, &Reg.Info, wxsStaticLineEvents, wxsStaticLineStyles ) {
  GetBaseProps()->m_Size.IsDefault = false;
  GetBaseProps()->m_Size.X = 10;
  GetBaseProps()->m_Size.Y = -1;
}

void wxsStaticLine::OnBuildCreatingCode() {
  switch( GetLanguage() ) {
    case wxsCPP: {
      AddHeader( _T( "<wx/statline.h>" ), GetInfo().ClassName, 0 );
      Codef( _T( "%C(%W, %I, %P, %S, %T, %N);\n" ) );
      BuildSetupWindowCode();
      return;
    }
    case wxsUnknownLanguage:
    default: {
      wxsCodeMarks::Unknown( _T( "wxsStaticLine::OnBuildCreatingCode" ), GetLanguage() );
    }
  }
}


wxObject* wxsStaticLine::OnBuildPreview( wxWindow* Parent, long Flags ) {
  wxStaticLine* Preview = new wxStaticLine( Parent, GetId(), Pos( Parent ), Size( Parent ), Style() );
  return SetupWindow( Preview, Flags );
}

void wxsStaticLine::OnEnumWidgetProperties( M_Code_unused long Flags ) {
}
